//jq入口函数
$(function () {
    //1.请求当前登录用户信息
    getUserInfo();
    //2.添加自定义校验规则
    layui.form.verify({
        nicknameRule: [
            /^[\S]{2,6}$/, '昵称必须是2-6个字符'
        ]
    })
    //3.给表单添加提交事件
    $('.layui-form').on('submit', doSubmit);
    //4.为重置按钮添加点击事件
    $('#btnReset').on('click', getUserInfo);
})

//1.获取登录用户基本信息的方法------------------------------------------------------
function getUserInfo() {
    //a.发送异步请求
    $.ajax({
        method: 'get',
        url: '/my/userinfo',
        success(res) {
            //b.如果身份验证失败，则跳回到登录页
            if (res.status !== 0) return;

            //c.如果身份验证成功，装填数据到表单中
            layui.form.val('userForm', res.data);
        }
    })
}

//2.提交事件------------------------------------------------------------------------
function doSubmit(e) {
    //a.阻止表单默认提交
    e.preventDefault();
    //b.获取表单数据
    const strData = $(this).serialize(); //layui.form.val('userForm')
    //c.异步提交
    $.ajax({
        url: "/my/userinfo",
        method: 'post',
        data: strData,
        success(res) {
            //如果更新失败，则提示消息
            if (res.status !== 0) {
                return layui.layer.msg(res.message);
            }
            //如果更新成功，调用父页面的getUserInfo方法，去更新个人信息
            window.parent.getUserInfo();
            //提示消息
            layui.layer.msg(res.message);
        }
    })
}